home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Software Contest 3 / FM Towns Software Contest 3.iso / exp / video_t / no1 / c_sorse / help2.c < prev    next >
Text File  |  1994-01-07  |  3KB  |  136 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8.  
  9. int    Dialog_help23 = -1 ;
  10. int    Text_help23 = -1 ;
  11. int    ScrollBar_help = -1 ;
  12. int    Message_help = -1 ;
  13. int    DButton_help2 = -1 ;
  14. int    _001Message_help = -1 ;
  15. int    _001DButton_help2 = -1 ;
  16. int    _002Message_help = -1 ;
  17.  
  18. int    helpon=0;
  19.  
  20. extern     int    backid ;
  21. extern int    Dia_edit ;
  22. extern int    Dialog_menu ;
  23. extern int    Text ;
  24.  
  25.  
  26. /*    initDataHELP:ScrollBar_help:MJ_SCRLL40の呼び出し関数    */
  27. int    scroll_help(kobj, messId, argc, pev, trigger)
  28. int        kobj ;
  29. int        messId ;
  30. int        argc ;
  31. EVENT    *pev ;
  32. int        trigger ;
  33. {
  34. int    prt,min,max,len,page;
  35. TEHandle *pteHandle;
  36. int    line,flag;
  37.     /*  スクロールバーの値を読み出す    */
  38.     MMI_SendMessage(kobj, MM_GETSCROLL, 5, &prt, &min, &max, &len, &page) ;
  39.     MMI_SendMessage(Text_help23, MM_GETTEHANDLE, 1, &pteHandle) ;
  40.  
  41.     /*  アクティブなテキストを設定しスクロール行数を求める  */
  42.     TE_Activate(pteHandle, 0, 0) ;
  43.  
  44.     line = (prt - min) - pteHandle->dspline ;
  45.     if (line < 0)
  46.     {
  47.         flag = 0 ;
  48.         line *= -1 ;
  49.     }
  50.     else
  51.     {
  52.         flag = 1 ;
  53.     }
  54.  
  55.     MG_mosDisp(2) ;
  56.     TE_Scroll(flag , line) ;
  57.     MG_mosDisp(3) ;
  58.     TE_Deactivate() ;
  59.  
  60. return NOERR ;
  61. }
  62.  
  63. /*    initDataHELP:DButton_help:MJ_DBUTTONL40の呼び出し関数    */
  64. int    help_on(kobj, messId, argc, pev, trigger)
  65. int        kobj ;
  66. int        messId ;
  67. int        argc ;
  68. EVENT    *pev ;
  69. int        trigger ;
  70. {
  71. MMI_SendMessage(Dialog_help23,MM_ERASE,0) ;
  72. MMI_SendMessage(Dialog_help23,MM_DETACH,0) ;
  73. /*    メニューを選択可とします。    */
  74. MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  75. MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  76. helpon=0;
  77.     return NOERR ;
  78. }
  79.  
  80.  
  81. int    help_check=0;
  82. int    help_go()
  83. {
  84. int    TEXTVIEW=18;
  85. int    textLine;
  86. TEHandle *th;
  87. /*    背景を選択不可とします。*/
  88. MTL_setAtrObj(backid, MS_DSPONLYL40) ;
  89. MTL_setAtrObj(Dialog_menu, MS_DSPONLYL40) ;
  90.  
  91. MMI_SendMessage(Dialog_help23,MM_ATTACH,1,MMI_GetBaseObj()) ;
  92. MMI_SendMessage(Dialog_help23, MM_WAKE, 0) ;
  93. MMI_SendMessage(Dialog_help23, MM_SHOW, 0) ;
  94. helpon=1;
  95. if(help_check!=0)    return 0;
  96.  
  97. help_fail();
  98.  
  99. MMI_SendMessage(Text_help23, MM_GETTEHANDLE, 1, &th) ;
  100. TE_GetTextLine2(th,&textLine) ;
  101. /*  スクロールバーの大きさの設定    */
  102. MMI_SendMessage(ScrollBar_help, MM_SETSCROLL, 5, TEXTVIEW - 1, TEXTVIEW - 1,
  103.  (textLine < TEXTVIEW) ? (TEXTVIEW - 1) : (textLine - 1) , 
  104.  TEXTVIEW,  TEXTVIEW - 1) ;
  105. help_check=1;
  106. SetMouse(80,0xf);
  107. MMI_SendMessage(ScrollBar_help, MM_SHOW, 0) ;
  108. return NOERR ;
  109. }
  110.  
  111. /*    initDataHELP:_001DButton_help2:MJ_DBUTTONL40の呼び出し関数    */
  112. int    h_fail(kobj, messId, argc, pev, trigger)
  113. int        kobj ;
  114. int        messId ;
  115. int        argc ;
  116. EVENT    *pev ;
  117. int        trigger ;
  118. {
  119. int    TEXTVIEW=18;
  120. int    textLine;
  121. TEHandle *th;
  122.  
  123. help_fail();
  124.  
  125. MMI_SendMessage(Text_help23, MM_GETTEHANDLE, 1, &th) ;
  126. TE_GetTextLine2(th,&textLine) ;
  127. /*  スクロールバーの大きさの設定    */
  128. MMI_SendMessage(ScrollBar_help, MM_SETSCROLL, 5, TEXTVIEW - 1, TEXTVIEW - 1,
  129.  (textLine < TEXTVIEW) ? (TEXTVIEW - 1) : (textLine - 1) , 
  130.  TEXTVIEW,  TEXTVIEW - 1) ;
  131. help_check=1;
  132. SetMouse(80,0xf);
  133. MMI_SendMessage(ScrollBar_help, MM_SHOW, 0) ;
  134. return NOERR ;
  135. }
  136.